home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / tcp_ip / gracil / p10dvr / p10_vec.asm < prev    next >
Assembly Source File  |  1992-08-13  |  1KB  |  55 lines

  1. ;
  2. ; PackeTen Inter-Processor Communications interrupt handler routine
  3. ; "straight forward copy" from eaglevec.asm
  4. ;
  5.     .MODEL    MEMMOD,C
  6.     LOCALS
  7.     %MACS
  8.     .LALL
  9.  
  10.     extrn    Stktop,Spsave,Sssave,ipc_entpt:proc,doret:proc,eoi:proc
  11.  
  12.     .CODE
  13. dbase    dw    @Data        ; save loc for ds (must be in code segment)
  14.  
  15.     public    P10ipc_vec
  16.     label    P10ipc_vec far
  17.     cli
  18.     push    ds        ; save on user stack
  19.     mov    ds,cs:dbase    ; establish interrupt data segment
  20.  
  21.     mov    Sssave,ss    ; stash user stack context
  22.     mov    Spsave,sp
  23.  
  24.     mov    ss,cs:dbase
  25.     lea    sp,Stktop
  26.  
  27.     push    ax        ; save user regs on interrupt stack
  28.     push    bx
  29.     push    cx
  30.     push    dx
  31.     push    bp
  32.     push    si
  33.     push    di
  34.     push    es
  35.     call    eoi
  36.     mov    ax,0        ; arg for service routine
  37.     push    ax
  38.     call    ipc_entpt
  39.     pop    ax
  40.     pop    es
  41.     pop    di
  42.     pop    si
  43.     pop    bp
  44.     pop    dx
  45.     pop    cx
  46.     pop    bx
  47.     pop    ax
  48.     mov    ss,Sssave
  49.     mov    sp,Spsave    ; restore original stack context
  50.     pop    ds
  51.     sti
  52.     iret
  53.     end
  54.  
  55.